#include <iostream>

// 声明一个结构
struct antarctica_years_end
{
    int year;
    // someone else structs
};

int main()
{
    // 创建几个这样的结构, C++中没有struct关键字也可以
    struct antarctica_years_end antarctica01, antarctica02, antarctica03;
    antarctica_years_end antarctica04, antarctica05, antarctica06;

    //创建一个结构数组
    antarctica_years_end antarctica_array[3];
    antarctica_years_end *pant1 = antarctica_array;

    antarctica_years_end *pant2 = new antarctica_years_end[3];

    // 将结构数组中的元素中的int类型变量进行赋值,访问数组成员
    pant1->year = 100;
    antarctica_array[0].year = 102;
    (antarctica_array + 1)->year = 100;

    std::cout << pant1->year << "is pant -> year value" << std::endl;
    std::cout << antarctica_array[0].year << "is antarctica_array[0].year value!" << std::endl;

    delete[] pant2; // 这一步不要忘了

    // C++11自动类型推断 auto关键字
    auto ppb = antarctica_array;        // ppb指向 数组中的第一个元素
    (*(ppb + 1)).year= 100;             // 请在*解引用之前打括号


    return 0;
}